package com.llb666.shop.items.domain.repository;

import com.llb666.shop.items.domain.entity.ItemsImg;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Set;
import java.util.concurrent.CompletableFuture;

/**
 * 商品图片信息仓储层.
 *
 * @author llb666
 */
@RestController
public interface ItemsImgRepository {

    /**
     * 查询商品图片信息.
     *
     * @param itemId 商品ID
     * @return 商品图片信息
     */
    List<ItemsImg> queryItemsImgById(String itemId);

    /**
     * 根据商品id查询商品主图图片
     *
     * @param itemsIdSet 商品id列表
     * @return 商品图片列表信息.
     */
    List<ItemsImg> getImgUrlsByItemsIds(Set<String> itemsIdSet);

    /**
     * 根据商品id 查询主图.
     *
     * @param itemId 商品ID
     * @return 查询主图url
     */
    String queryItemMainImgById(String itemId);

    /**
     * 根据商品id 查询主图列表.
     *
     * @param itemIds 商品ID列表
     * @return 商品主图列表
     */
    CompletableFuture<List<ItemsImg>> queryItemMainImgsItemsImgByIds(List<String> itemIds);

}
